package WanWJ.IfPractice;

import java.util.Scanner;

/**
 * @author Xiao
 * @date 2021/7/12
 */
public class IfTest03 {
    /**
     * 需求：
     * 某银行推出了整存整取定期储蓄业务，其存期分为一年、两年、三年、五年，到期凭存单支取本息。存款年利率表如下：
     * 存期		年利率（%）
     * 一年		2.25
     * 两年		2.7
     * 三年		3.25
     * 五年		3.6
     * 请存入一定金额（1000起存），存一定年限（四选一），计算到期后得到的本息总额。
     * 提示：
     * 存入金额和存入年限均由键盘录入
     * 本息计算方式：本金+本金×年利率×年限
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double money = getMoney(sc);    //输入本金（1000起）
        int year = getYear(sc);     //输入年限（1/2/3/5）
        double sum = getSum(money, year);    //计算本息总额
        System.out.println("存入" + money + "元，存储年限" + year + "年，到期后本息总额为" + sum + "元。");
    }

    private static double getSum(double money, int year) {
        double sum = 0;
        switch (year) {
            case 1:
                sum = money + money * 2.25 / 100 * 1;
                break;
            case 2:
                sum = money + money * 2.70 / 100 * 2;
                break;
            case 3:
                sum = money + money * 3.25 / 100 * 3;
                break;
            case 5:
                sum = money + money * 3.60 / 100 * 4;
                break;
        }
        return sum;
    }

    public static int getYear(Scanner sc) {
        while (true) {
            System.out.println("请输入存储年限(1/2/3/5)：");
            int year = sc.nextInt();
            if (year == 1 || year == 2 || year == 3 || year == 5) {
                return year;
            }
            System.out.println("您输入的存储年限有误，请重新输入。");
        }
    }

    public static double getMoney(Scanner sc) {
        while (true) {
            System.out.println("请输入存储金额(至少1000)：");
            double money = sc.nextDouble();
            if (money >= 1000) {
                return money;
            }
            System.out.println("您存储的金额太少，请重新存储。");
        }
    }
}
